Antes de comenzar a revisar las técnicas, te recomiendo que le des un vistazo a este video que explica gráficamente lo que vamos a realizar a continuación.
Ahora que ya tienes algunas nociones sobre regresiones, vamos a intentar encontrar la mejor combinación de variables para explicar la evaluación personal sobre diversos aspectos del medioambiente.
Para ello vamos a utilizar los datos de la Encuesta Nacional de Medio Ambiente 2018. Ahí podrán encontrar la presentación de resultados, el libro de códigos y la base de datos (en formato EXCEL). Alternativamente, he dejado los datos en un archivo csv que puedes descargar directamente a R, pero ten a mano el libro de códigos: lo vas a necesitar más de una vez.
Todo análisis comienza por la descripción de las variables a utilizar y esta no es la excpeción.
## 'data.frame': 7601 obs. of 170 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ ID : int 1 2 3 4 5 6 7 8 9 10 ...
## $ COMUNA : int 2101 13201 15101 4102 2101 2101 5101 7301 3101 2101 ...
## $ P1A : int 1 2 1 3 1 1 1 2 4 4 ...
## $ P1B : int 3 4 2 2 2 2 2 1 1 2 ...
## $ P1C : int 2 1 3 1 3 3 3 3 2 3 ...
## $ P1D : int 4 3 4 5 5 5 5 4 5 1 ...
## $ P1E : int 5 5 5 4 4 4 4 5 3 5 ...
## $ P1_Educ : int 1 3 1 3 1 1 1 2 2 4 ...
## $ P1_Salud : int 3 1 2 2 2 2 2 1 3 2 ...
## $ P1_MAmb : int 2 4 3 1 3 3 3 3 5 3 ...
## $ P1_Delinc : int 4 2 4 5 5 5 5 4 1 1 ...
## $ P1_Crec : int 5 5 5 4 4 4 4 5 4 5 ...
## $ P2 : chr "contaminación de aire" "cambio climatico" "CONTAMINACION DEL AGUA" "congestión vehicular" ...
## $ P2_COD2 : chr NA NA NA NA ...
## $ P2_COD : int 6 2 5 3 1 6 1 6 6 1 ...
## $ P3A : int 3 4 3 4 3 3 3 4 4 3 ...
## $ P3B : int 2 4 3 3 3 3 1 4 4 4 ...
## $ P3C : int 2 4 4 4 3 3 2 3 3 2 ...
## $ P3D : int 2 3 8 3 9 8 2 3 4 4 ...
## $ P3E : int 3 4 2 3 4 4 1 4 4 3 ...
## $ P3F : int 3 4 3 3 3 3 3 3 4 3 ...
## $ P4 : int 3 3 3 1 2 3 2 3 2 3 ...
## $ P5A : int 1 2 3 4 4 3 4 5 5 3 ...
## $ P5B : int 4 3 4 4 4 2 4 4 5 3 ...
## $ P5C : int 2 1 3 3 3 1 3 4 9 3 ...
## $ P6A : int 3 4 3 2 3 3 3 3 2 4 ...
## $ P6B : int 4 4 3 4 3 3 2 3 3 4 ...
## $ P6C : int 4 4 3 3 4 3 3 3 3 4 ...
## $ P6D : int 4 2 3 2 3 3 2 4 2 1 ...
## $ P6E : int 3 3 2 4 3 2 3 4 3 4 ...
## $ P6F : int 1 3 2 2 1 2 2 3 2 3 ...
## $ P6G : int 4 3 2 4 1 3 3 3 3 4 ...
## $ P6H : int 4 2 3 4 3 3 8 3 3 4 ...
## $ P6I : int 4 4 3 4 3 4 4 3 3 4 ...
## $ P6J : int 4 3 3 4 3 3 3 4 3 4 ...
## $ P7 : int 1 2 1 3 1 5 5 1 3 3 ...
## $ P7_OTRO : chr NA NA NA NA ...
## $ P8 : chr "5" "8" "9" "9" ...
## $ P8_OTRO : chr NA NA NA NA ...
## $ P9 : int 2 1 2 1 1 2 1 1 2 1 ...
## $ P10 : chr "3" "." "5" "." ...
## $ P10_OTRO_COD: chr NA NA NA NA ...
## $ P10_OTRO : chr NA NA NA NA ...
## $ P11_1 : chr "." "0" "." "0" ...
## $ P11_2 : chr "." "1" "." "0" ...
## $ P11_3 : chr "." "0" "." "0" ...
## $ P11_4 : chr "." "0" "." "1" ...
## $ P11_5 : chr "." "1" "." "1" ...
## $ P11_6 : chr "." "0" "." "0" ...
## $ P11_7 : chr "." "1" "." "0" ...
## $ P11_8 : chr "." "0" "." "0" ...
## $ P11_9 : chr "." "0" "." "0" ...
## $ P11_10 : chr "." "0" "." "0" ...
## $ P11_NS : chr "." "0" "." "0" ...
## $ P11_NR : chr "." "0" "." "0" ...
## $ P11_OTRO : chr NA NA NA NA ...
## $ P12A : chr "." "2" "." "3" ...
## $ P12B : chr "." "3" "." "3" ...
## $ P12C : chr "." "3" "." "3" ...
## $ P12D : chr "." "3" "." "3" ...
## $ P12E : chr "." "3" "." "3" ...
## $ P12F : chr "." "3" "." "3" ...
## $ P12G : chr "." "1" "." "1" ...
## $ P13A : int 1 1 1 1 8 1 2 1 1 1 ...
## $ P13B : int 1 1 1 1 1 1 1 1 1 1 ...
## $ P13C : int 2 2 1 2 1 2 1 1 2 1 ...
## $ P13D : int 1 1 1 1 1 1 1 1 1 1 ...
## $ P13E : int 1 2 1 1 1 1 1 1 2 1 ...
## $ P13F : int 1 1 2 2 2 2 1 1 2 2 ...
## $ P13G : int 1 1 2 1 2 2 1 1 2 1 ...
## $ P13H : int 1 1 1 1 1 1 1 1 1 1 ...
## $ P13I : int 1 1 1 1 1 1 1 1 1 1 ...
## $ P14A : int 0 0 0 0 0 0 1 0 1 0 ...
## $ P14A_SI : chr "." "." "." "." ...
## $ P14A_NO : chr "1" "1" "2" "1" ...
## $ P14B : int 0 1 0 0 0 0 0 0 0 1 ...
## $ P14B_SI : chr "." "1" "." "." ...
## $ P14B_NO : chr "2" "." "2" "1" ...
## $ P14C : int 0 1 1 1 0 1 1 1 0 0 ...
## $ P14C_SI : chr "." "1" "2" "2" ...
## $ P14C_NO : chr "1" "." "." "." ...
## $ P14D : int 0 0 0 1 0 0 1 1 0 0 ...
## $ P14D_SI : chr "." "." "." "1" ...
## $ P14D_NO : chr "1" "1" "1" "." ...
## $ P15 : chr "Reciclar y reducir consumo de energia" "ahorrar agua, luz, energia renovable" "NO SABE" "conversar con las nuevas generaciones para formar hábitos." ...
## $ P15_COD : int 1 4 88 5 5 99 5 5 5 1 ...
## $ P16A : int 3 2 3 3 2 3 3 3 3 3 ...
## $ P16B : int 2 2 1 3 2 1 2 2 2 2 ...
## $ P16C : int 2 1 2 3 2 3 3 3 8 3 ...
## $ P16D : int 2 1 2 3 2 2 2 3 3 2 ...
## $ P16E : int 3 3 2 3 2 2 3 3 3 3 ...
## $ P18 : chr "1" "1" "." "1" ...
## $ P17 : chr "Cambios en las temperaturas y lluvias" "fenomeno por causa humana" "NO SABE" "las 2 cosas van de la mano, el calentamiento provoca el cambio climático." ...
## $ P17_COD2 : chr NA NA NA NA ...
## $ P19 : chr "Impotencia" "culpa" NA "frustración porque la gente no entiende lo que les estamos dejando a los que vienen." ...
## $ P19_9 : chr "0" "0" "." "0" ...
## $ P19_1 : chr "0" "0" "." "0" ...
## $ P19_2 : chr "0" "0" "." "0" ...
## [list output truncated]
Describamos las frecuencias:
##
## 1 2 3 4 5 8 9
## 408 821 2282 3018 1025 38 9
##
## 1 2 3 4 5
## 1810 2231 1826 1481 253
##
## 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
## 68 74 114 144 131 139 98 123 95 110 111 85 117 107 105 122 108 150 101 121
## 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
## 127 132 177 115 142 136 118 154 128 155 142 136 298 156 196 180 168 148 155 122
## 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
## 147 111 204 111 132 107 121 170 87 107 101 81 142 56 80 66 63 80 51 41
## 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 97
## 43 24 40 25 11 12 26 5 14 8 6 5 8 3 1 2 1 1
## min Q1 median Q3 max mean sd n missing
## 18 35 49 60 97 47.9108 16.49623 7601 0
##
## 1 2 3 4
## 1409 1915 2446 1831
##
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
## 341 373 311 330 662 433 432 706 487 380 137 221 1941 252 305 290
##
## 1 2 3 4
## 1941 1660 1527 2473
##
## 1 2
## 3079 4522
##
## 1 2 3 4 5 6 7 8 9 10
## 29 294 483 470 1801 134 1136 849 2099 306
##
## 1 2 3 4 5 6 7 8 9 10
## 29 307 510 470 1815 107 1230 280 2482 371
Para mejorar la variabilidad de nuestra variable dependiente, vamos a construir una nueva variable que será la media de las puntuaciones individuales respecto a la evaluación de:
##
## 1 2 3 4 5
## 408 821 2282 3018 1025
##
## 1 1.16666666666667 1.2 1.25
## 7 4 1 1
## 1.33333333333333 1.4 1.5 1.6
## 5 4 19 13
## 1.66666666666667 1.75 1.8 1.83333333333333
## 20 1 19 14
## 2 2.16666666666667 2.2 2.25
## 134 57 44 3
## 2.33333333333333 2.4 2.5 2.6
## 127 86 178 99
## 2.66666666666667 2.75 2.8 2.83333333333333
## 289 51 212 312
## 3 3.16666666666667 3.2 3.25
## 849 417 231 60
## 3.33333333333333 3.4 3.5 3.6
## 608 212 589 171
## 3.66666666666667 3.75 3.8 3.83333333333333
## 495 21 171 463
## 4 4.16666666666667 4.2 4.25
## 599 254 118 22
## 4.33333333333333 4.4 4.5 4.6
## 189 65 98 31
## 4.66666666666667 4.75 4.8 4.83333333333333
## 80 2 14 56
## 5
## 86
Como verás, ahora tenemos más categorías que sólo las 5 que incluye cada variable por separado. Veamos el histograma:
> ¿Te parece que se asemeja a una distribución normal?
Veamos ahora la variable Edad, que es una de las pocas variables de intervalo que comúnmente podemos encontrar en encuestas sociales.
¿No muy normal, verdad? En el mundo real, esto es un problema que debemos solucionar antes de continuar con el modelamiento de datos por medio de regresiones lineales. Si quieres aprender más sobre eso, te sugiero revisar el manual de Wooldridge que está en Aula Virtual ¡un clásico!
Pero como estamos recién aprendiendo, podemos resolver esos problemas más adelante. Por ahora, sigamos con el análisis descriptivo bivariado, que nos permite contrastar las variables edad y evaluación medioambiental.
¿Puedes ver algún patrón en los datos? Si tienes dificultades para observar alguna relación, podemos apoyarnos en las propiedades gráficas del paquete ggplot2 y así explorar las relaciones.
Ahora podemos ver claramente que existe una concentración al centro del gráfico, aunque quizás sin poder identificar todavía un patrón. Como la relación no es muy clara, podemos apoyarnos en el análisis de regresión lineal para determinar si existe o no alguna influencia de la edad sobre la evaluación medioambiental.
Si solo contaras con información descriptiva de la evaluación medioambiental y tuvieras que adivinar cuál es el valor más probable de obtener si escogemos un caso al azar ¿cuál escogerías?
## min Q1 median Q3 max mean sd n missing
## 1 3 3.333333 3.833333 5 3.379386 0.6538412 7601 0
## [1] "numeric"
Vemos que la media y la mediana son bastante cercanas, lo que es un buen indicador (pero insuficiente por sí solo) respecto de la normalidad de la variable. Sin embargo, yo escogería el valor más repetido (la moda): 3.
Veamos ahora la información de la variable, dibujando una curva de densidad estimada que, básicamente, nos entrega información sobre la proporción de casos (el área bajo la curva) que se estima existan para cada valor del eje X (evaluación medioambiental).
¿Se parece a una curva de distribución normal? No tanto, ¿verdad? Recuerda:
Ahora, ¿qué pasaría si te piden “adivinar” la evaluación medioambiental de una persona de 55 años? Eso ya te puede dar una pista mejor para poder pronosticar el resultado ¿Será que los jóvenes son más conscientes y críticos con el medioambiente? ¿O al revés, los adultos mayores tienen una peor evaluación, porque utilizan más el espacio público para caminar por las tardes? Bueno, saber de regresiones no te va a resolver la duda, pero al menos permite acercarte al mejor pronóstico posible en función de la varianza observada en los datos. Para ello, vamos a generar un gráfico de dispersión, pero trazando una curva que represente el valor medio de evaluación medioambiental, para cada año de edad.
## Warning: Ignoring unknown parameters: fun.y
Pero claro, para poder construir esa curva con los valores medio para cada unidad del eje X necesitas contar con los datos, con lo cual ya no sería realmente una adivinanza. Bueno, entonces dejémosle las adivinanzas a los adivinos y concentrémonos en qué información nos puede aportar la recta de regresión.
¿Puedes observar alguna tendencia ahora? Claro, si bien tenemos una alta dispersión en los datos, aún es posible observar una ligera tendencia, donde a mayor edad mejor valoración del medioambiente. Veamos nuevamente la curva de valores promedio, pero agreguemos la recta de regresión ¿Ves alguna relación entre ambas?
Para entender la relación entre ambas, sería mejor que profundices sobre los Mínimos Cuadrados Ordinarios (MCO) en el texto de Wooldridge (quizás recuerdes parte de la explicación del video en la introducción).
## Warning: Ignoring unknown parameters: fun.y
## `geom_smooth()` using formula 'y ~ x'
## No summary function supplied, defaulting to `mean_se()`
Bien, ahora que ya hemos visto que la recta de regresión muestra la dirección y fuerza de la asociación, podemos llevar esa visualización a una notación matemática con la fórmula de regresión lineal simple:
\[y = \beta_{0} + \beta_{1}X_{1}\] Básicamente, esta fórmula nos permite pronosticar el valor de la variable dependiente \(y\) a partir de tres elementos: el intercepto (\(\beta_{0}\)), la pendiente (\(\beta_{1}\)) y el valor de \(X_{1}\), que corresponde a la puntuación de la variable independiente. En nuestro ejemplo, aún no conocemos el intercepto ni la pendiente, pero sabemos que queremos pronosticar la evaluación medioambiental de una persona de 55 años.
## [1] "lm"
## $names
## [1] "coefficients" "residuals" "effects" "rank"
## [5] "fitted.values" "assign" "qr" "df.residual"
## [9] "xlevels" "call" "terms" "model"
##
## $class
## [1] "lm"
##
## Call:
## lm(formula = eval ~ edad, data = medioambiente)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.42552 -0.41174 -0.00945 0.44915 1.68471
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.2693534 0.0230005 142.14 < 2e-16 ***
## edad 0.0022966 0.0004539 5.06 4.3e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6528 on 7599 degrees of freedom
## Multiple R-squared: 0.003357, Adjusted R-squared: 0.003226
## F-statistic: 25.6 on 1 and 7599 DF, p-value: 4.301e-07
Mira bien los resultados. Fíjate que m1 es un objeto de tipo lm (linear model), que contiene una serie de elementos. Ahora mira el resumen y observa la fórmula que aparece debajo de Call: eval a partir de la edad. Luego puedes ver información sobre los estadísticos descriptivos de los residuos, cuestión que no alcanzaremos a cubrir en este curso, pero que son muy necesarios para validar el modelo.
Y ahora fíjate en los Coefficients, porque ahí está buena parte de la información que nos interesa analizar. Como puedes ver, hay un intercepto y la variable edad, para los cuales se calculan los coeficientes, el error estándar, el valor en distribución t y el valor-p que hemos utilizado anteriormente (Pr(<|t|)). Así, si bien el valor que nos interesa para poder ingresar en la fórmula es justamente el que se encuentra en la columna Estimates, primero necesitamos generar una prueba de hipótesis para cada variable incluída en el modelo, la cual contrastaremos con el estadístico de prueba t, respetando las mismas indicaciones que hemos utilizado anteriormente: valor-p debe ser inferior a 0,05 para poder rechazar H0 y asumir que la variable es significativa para el modelo. En consecuencia, podemos observar que existe evidencia estadísticamente significativa para asumir que la variable edad influye sobre la evaluación medioambiental (otra cosa distinta es cuánto influye).
A partir de esta información podemos tomar nuestra fórmula y simplemente completar:
\(y = \beta_{0} + \beta_{1}X_{1}\) \(y = 3.38 + 0.0023 * 55\) \(y = 3.40\)
¿Fácil, no? Con este procedimiento podemos establecer que el mejor pronóstico para una persona de 55 años, es tener una valoración medioambiental de 3,4, lo que se ubica entre regular y bueno. Pero imagina lo tedioso que podría ser repetir este procedimiento manualmente para probar con diferentes valores. Por fortuna, te tocó aprender estadística en pleno siglo XXI, con computadoras, archivos en la nube y nuestro bendito RStudio (¡los estadísticos clásicos lo hacían todo a mano!), que evidentemente tiene una fórmula para hacerlo automáticamente.
## 1
## 3.395668
Estuvimos muy cerca ¿verdad?. Las diferencias en milésimas es sólo un error de redondeo.
Como comentaba anteriormente, una cuestión importante en el modelamiento de datos a través de regresiones, son justamente los residuos: aquella porción de la varianza que no logra ser explicada por el modelo. Para ello se utilizan una serie de técnicas de modelamiento que permiten reducir este valor al mínimo posible (ver texto Wooldridge), lo que en la práctica implica intentar minimizar la distancia que existe en la puntuación observada y la que pronostica el modelo.
A partir de ese ejercicio, es posible calcular una razón entre la varianza explicada y la no explicada, que nos permita resumir en un sólo estadístico la calidad del modelo. Para eso utilizamos el coeficiente de determinación \(R^{2}\):
Lo que esta fórmula nos dice, es que para obtener \(R^{2}\) necesitamos dividir la varianza explicada por el modelo (SSE: sum of squares explained) por la varianza total (SST: sum of square total). Esto nos arroja un valor que nos muestra el porcentaje de varianza de \(y\) que es explicada por el modelo, la que también se puede interpretar como porcentaje.
## $names
## [1] "call" "terms" "residuals" "coefficients"
## [5] "aliased" "sigma" "df" "r.squared"
## [9] "adj.r.squared" "fstatistic" "cov.unscaled"
##
## $class
## [1] "summary.lm"
## [1] 0.003357412
## [1] 0.3357412
Así, en nuestro ejemplo, el valor de \(R^{2}\) es de 0.0033574, lo que bien puede leerse como que el modelo logra explicar apenas un 0.34 % de la varianza total de la evaluación medioambiental. ¿Mucho o poco? Esa es una cuestión que depende del criterio y objetivo de la investigación, ya que como señalan Weisburd y Britt (2009, 437), al menos en el ámbito de la justicia criminal es muy difícil obtener valores superiores a 0,40, por lo que si llegas a obtener un \(R^{2}>.40\) ¡estás frente a un gran modelo!
Por otra parte, si obtienes \(R^{2}<0.15\) el modelo es concebido como débil, para lo cual podemos evaluar la posibilidad de incorporar otras variables adicionales al modelo. Sin embargo, este ejercicio nos lleva de una regresión lineal simple a una regresión lineal múltiple, que en la práctica tienen una serie de diferencias que bien vale tener en cuenta si quieres aventurarte a modelar datos. Por fortuna, las interpretaciones de los coeficientes \(\beta\) son muy similares, así como también la prueba de hipótesis para cada variable.
Una limitación de los modelos de regresión lineal simple o múltiple, es que requieren que todas las variables sean de intervalo o razón. Pese a ello, existe la posibilidad de “engañar” al modelo, incorporando variables cualitativas que, como regla general, deberan tener k-1 categorías (siendo k el nro total de categorías). Esto permite incorporar variables cualitativas (nominales y ordinales) que se conocen como variables dummy (tontas), pues estamos buscando pasar un porcentaje como razón.
Veamos un ejemplo sencillo, con la variable sexo, que es dicotómica pues sólo tiene dos categorías posibles.
##
## Call:
## lm(formula = eval ~ sexo, data = medioambiente)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.3900 -0.3900 -0.0388 0.4433 1.6279
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.39004 0.01178 287.705 <2e-16 ***
## sexoMujer -0.01791 0.01528 -1.172 0.241
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6538 on 7599 degrees of freedom
## Multiple R-squared: 0.0001808, Adjusted R-squared: 4.922e-05
## F-statistic: 1.374 on 1 and 7599 DF, p-value: 0.2411
Si utilizamos la información del modelo, tenemos la siguiente fórmula:
\(y = \beta_{0} + \beta_{1}X_{1}\) \(y = 3.39 + -0.01791 * 1\) \(y = 3.37\)
Sin embargo, fíjate que la variable sexo está incluída como sexoMujer. Lo que ocurre es que un modelo de regresión lineal con solo una variable dicotómica como predictora, es básicamente una prueba t para muestras independientes. En este caso, la categoría de referencia es hombre que no se imprime en el modelo. Esto implica que cuando el caso a pronosticar sea una mujer, su valor será inferior a la de los hombres manteniendo todo lo demás constante. Comprueba por tu cuenta que el valor del coeficiente es el mismo que la diferencia entre las medias de hombres y mujeres.
## [1] 3.372133
## [1] 3.39004
## [1] -0.01790752
De este modo, siempre que incorpores variables categóricas o factores, tendrás una categoría de referencia que no aparecerá en el modelo. Veamos el ejemplo con la variable de nivel socioeconómico:
## [1] "integer"
## [1] "factor"
## [1] "E" "D" "C3" "C2" "ABC1"
##
## Call:
## lm(formula = eval ~ nse2, data = medioambiente)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.38653 -0.38653 0.01331 0.44680 1.67998
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.42101 0.04105 83.343 <2e-16 ***
## nse2D 0.01092 0.04442 0.246 0.8057
## nse2C3 -0.03990 0.04380 -0.911 0.3623
## nse2C2 -0.03448 0.04331 -0.796 0.4260
## nse2ABC1 -0.10100 0.04382 -2.305 0.0212 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6529 on 7596 degrees of freedom
## Multiple R-squared: 0.003394, Adjusted R-squared: 0.002869
## F-statistic: 6.467 on 4 and 7596 DF, p-value: 3.428e-05
Acá podemos ver que la categoría de referencia es el nivel E: * ¿Puedes interpretar el resto del modelo? * Bien, ahora construye la fórmula del modelo.
Observa como se comportan los datos y la recta de regresión.
Por último, vamos a construir un par de modelos de regresión múltiple:
##
## Call:
## lm(formula = eval ~ edad + nse2 + sexo, data = medioambiente)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.40872 -0.41821 -0.00296 0.44739 1.71410
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.3303121 0.0485552 68.588 < 2e-16 ***
## edad 0.0020417 0.0004638 4.402 1.09e-05 ***
## nse2D 0.0133944 0.0443614 0.302 0.7627
## nse2C3 -0.0356995 0.0437700 -0.816 0.4147
## nse2C2 -0.0216365 0.0433958 -0.499 0.6181
## nse2ABC1 -0.0843020 0.0440013 -1.916 0.0554 .
## sexoMujer -0.0274901 0.0153077 -1.796 0.0726 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6521 on 7594 degrees of freedom
## Multiple R-squared: 0.00623, Adjusted R-squared: 0.005445
## F-statistic: 7.935 on 6 and 7594 DF, p-value: 1.505e-08
¿Cuál sería la interpretación de cada coeficiente?
Ahora vamos a crear dos variables más relativos a las medidas ambientales y las acciones ecológicas:
##
## 1 1.5 1.66666666666667 1.75
## 45 8 16 16
## 2 2.25 2.33333333333333 2.5
## 148 110 44 306
## 2.66666666666667 2.75 3 3.25
## 23 704 1544 1075
## 3.33333333333333 3.5 3.66666666666667 3.75
## 27 982 113 953
## 4
## 1472
##
## 0 1
## 1299 6262
##
## 0 1
## 472 7122
##
## 0 1
## 2187 5399
##
## 0 1
## 1739 5798
##
## 0 1
## 2165 5425
##
## 0 1
## 4909 2683
##
## 0 1
## 4021 3489
##
## 0 1 2 3 4 5 6 7
## 3 67 277 871 1778 2368 1667 570
##
## Call:
## lm(formula = eval ~ edad + nse2 + sexo + acciones + medidas,
## data = medioambiente)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.40991 -0.42039 -0.00088 0.44804 1.72991
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.1755297 0.0709368 44.766 < 2e-16 ***
## edad 0.0020940 0.0004641 4.512 6.52e-06 ***
## nse2D 0.0088820 0.0443513 0.200 0.84128
## nse2C3 -0.0417130 0.0437937 -0.952 0.34088
## nse2C2 -0.0280381 0.0434219 -0.646 0.51848
## nse2ABC1 -0.0886274 0.0440229 -2.013 0.04413 *
## sexoMujer -0.0292108 0.0153987 -1.897 0.05787 .
## acciones 0.0027428 0.0059010 0.465 0.64209
## medidas 0.0441100 0.0136692 3.227 0.00126 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6514 on 7577 degrees of freedom
## (15 observations deleted due to missingness)
## Multiple R-squared: 0.007576, Adjusted R-squared: 0.006528
## F-statistic: 7.23 on 8 and 7577 DF, p-value: 1.35e-09
La fórmula de regresión lineal múltiples es:
\[y = \beta_{0} + \beta_{1}X_{1} + \beta_{2}X_{2} + \beta_{3}X_{3} +... \beta_{i}X_{i}\]
Para comprender mejor la regresión logística, que se utiliza cuando nuestra variable dependiente es un factor, te sugiero leer este artículo sobre la no-denuncia en Chile
No alcanzamos a cubrir esta técnica en el curso, pero baste con decir que permite visualizar la relación entre variables categóricas, a partir de las distancias chi-cuadrado. Puedes revisar este artículo, que utiliza justamente ACM para analizar las diferencias de proporciones observadas en las sanciones administrativas por infracciones a la ley de extranjería
Nota: buena parte de las sintaxis han sido traducidas y adaptadas del curso del Prof. Juanjo Medina en la Universidad de Manchester, que se encuentra disponible en: https://jjmedinaariza.github.io/R-for-Criminologists/
© danielquinterosr